* {
	margin: 0;
	padding: 0;
}

/* 取消a标签的下划线 */
a {
	text-decoration: none;
}

/* 取消input，button的所有效果 */
input,
button {
	border: none;
	background: transparent;
	outline: none;
	color: #fff;
}

/* 是指CSS中相对长度单位，表示相对视口高度（Viewport Height），1vh = 1% * 视口高度。 */
/* linear-gradient 线性布局 */
body {
	height: 100vh;
	background: linear-gradient(#141e30, #243b55);
	font-size: 16px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 告诉浏览器去理解你设置的边框和内边距的值是包含在width内的。
也就是说，如果你将一个元素的width设为100px,那么这100px会包含其它的border和padding，
内容区的实际宽度会是width减去border + padding的计算值。大多数情况下这使得我们更容易的去设定一个元素的宽高。 */

.loginBox {
	width: 400px;
	height: 364px;
	background: rgba(0, 0, 0, 0.5);
	box-shadow: 0px 15px 25px rgba(0, 0, 0, 0.6);
	padding: 40px;
	box-sizing: border-box;
}

h2 {
	font-size: 1.5rem;
	color: #fff;
	text-align: center;
	margin-bottom: 30px;
}

.item {
	height: 45px;
	margin-bottom: 30px;
	border-bottom: 1px solid #fff;
	position: relative;
}

input {
	width: 100%;
	height: 100%;
	padding-top: 20px;
	box-sizing: border-box;
}

.item label {
	position: absolute;
	left: 0px;
	top: 12px;
	color: #03e9f4;
	transition: all 0.5s;
}

/* 点击label变小 */
.item input:focus+label,
.item input:valid+label {
	top: 0px;
	font-size: 12px;
	color: #fff;
}

.btn {
	display: inline-block;
	padding: 10px 20px;
	color: #03e9f4;
	margin-top: 40px;
	position: relative;
	overflow: hidden;
	transition: 0.5s;
	text-transform: uppercase;
}

.btn:hover {
	background: #03e9f4;
	border-radius: 5px;
	color: #fff;
	box-shadow: 0 0 5px #03e9f4,
		0 0 25px #03e9f4,
		0 0 50px #03e9f4,
		0 0 100px #03e9f4;
}


.btn span {
	position: absolute;
}

.btn span:nth-child(1) {
	left: -100%;
	top: 0;
	width: 100%;
	height: 2px;
	background: -webkit-linear-gradient(left, transparent, #03e9f4);
	animation: line1 1s linear infinite;
}

/* 第一个span动画 */
@keyframes line1 {

	50%,
	100% {
		left: 100%;
	}
}

.btn span:nth-child(2) {
	right: 0;
	top: -100%;
	width: 2px;
	height: 100%;
	background: -webkit-linear-gradient(top, transparent, #03e9f4);
	animation: line2 1s 0.25s linear infinite;
}

@keyframes line2 {

	50%,
	100% {
		top: 100%;
	}
}

.btn span:nth-child(3) {
	left: 100%;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: -webkit-linear-gradient(left, #03e9f4, transparent);
	animation: line3 1s 0.5s linear infinite;
}

@keyframes line3 {

	50%,
	100% {
		left: -100%;
	}
}

.btn span:nth-child(4) {
	left: 0;
	top: 100%;
	width: 2px;
	height: 100%;
	background: -webkit-linear-gradient(top, #03e9f4, transparent);
	animation: line4 1s 0.75s linear infinite;
}

@keyframes line4 {

	50%,
	100% {
		top: -100%;
	}
}
